deps(sdk): raise the wrenai floor to 0.13.1 - #2610
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
WalkthroughBoth SDK packages now require ChangesWrenAI dependency update
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested labels: Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Both SDKs still declared `wrenai>=0.7.0` — the floor they were first added with, when 0.7.0 was current. Neither suite has ever run against it: CI resolves `wrenai` from PyPI with no path or workspace source, so both have only tested whatever the newest release happened to be. The stale floor advertises a compatibility range nobody verifies, and lets a resolver satisfy the requirement with a wrenai far older than the `wren.engine` / `wren.memory.store` / `wren.model.error` APIs these toolkits import. Move the floor to the newest published wrenai so the declared minimum is the version CI actually exercises. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
be9201d to
fe43d50
Compare
Summary
Both SDKs declared
wrenai>=0.7.0— the floor they were first added with, when 0.7.0 wascurrent (May 2026). This moves it to
>=0.13.1, the newest publishedwrenaiand the versionCI actually resolves. 16 constraints per file: the base dependency plus each
wrenai[<extra>]passthrough.
What failure does this repair?
None — nothing observable changes for a user today, which is why this is
deps:and notfix:.>=0.7.0already permits 0.13.1, so any resolver run today picks the samewrenaibefore and after this change.
What it fixes is the declared contract rather than the installed result:
uv pip install --system -e ".[dev]"from the SDK directory, and neither pyproject has apath dependency or
[tool.uv.sources]entry — sowrenaicomes from PyPI and the suiteshave only ever run against the then-latest release. wrenai 0.7.0 has never been tested
against either SDK.
wrenai>=0.7.0with a release predating thewren.engine,wren.memory.store,wren.context,wren.profile, andwren.model.errorAPIs both toolkits import at moduleimport time — failing at
ImportErrorrather than at resolution.How is it tested?
The existing
wren-langchain CIandwren-pydantic CIworkflows, both of which trigger onsdk/wren-*/**and therefore run on this PR. Their install step is the check that mattershere: a green
lint/testsjob proves the raised floor is still satisfiable alongside therest of the dependency set (langchain, pydantic-ai, and the memory extras), and that the
resolved
wrenaistill satisfies the imports the test suites exercise.No new test is added — there is no behaviour to assert on. A test that parsed the pyproject and
asserted on the version string would be exactly the substring-assertion anti-pattern the
contribution bar rules out.
Duplicate check
Checked every open PR touching
sdk/:chore: exclude Markdown from ruff format scope) — touches both of these files,but only the
[tool.ruff]block near the end. No overlap with the dependency table; mergesin either order.
version =,the CHANGELOG, and
__init__.py, not the dependency table.wren-langchainsource only.Nothing else declares
wrenaiconstraints. Both SDKs are changed in one PR rather than oneper package, per one change, once — the resulting convention is visible in a single diff.
Note for whoever merges
depsis a released section in this repo's release-please config, so this will add aDependencies entry to both SDK CHANGELOGs. The already-open 0.2.1 release PRs (#2427,
#2428) will regenerate to include it — they stay 0.2.1, since this is another patch-level
change.
Summary by CodeRabbit